﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using PMQLCHH.DAO;

namespace PMQLCHH.BUS
{
    class NhapHangBUS
    {
        public static DataTable LoadMaMatHang()
        {
            DataTable dt = NhapHangDAO.LoadMaMatHang();
            return dt;
        }
        public static DataTable LoadTatCaMaNhaCungCap()
        {
            DataTable dt = NhaCungCapDAO.LoadListNhaCungCap();
            return dt;
        }
        public static DataTable LoadNhaCungCapTheoTenNhaCungCap(string tenncc)
        {
            DataTable dt = NhapHangDAO.LoadNhaCungCapTheoTenNhaCungCap(tenncc);
            return dt;
        }
        public static DataTable LoadMatHangTheoMaMatHang(string mamh)
        {
            DataTable dt = NhapHangDAO.LoadMatHangTheoMaMatHang(mamh);
            return dt;
        }

        public static bool InsertPhieuNhap(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.InSertTablePhieuNhap(pn);
        }
        //--= hưng đang sửa
        //Thịnh đã sửa lại
        public static string GetMaPhieuNhap()
        {
            DataTable dt_kt = NhapHangDAO.LoadDSPhieuNhap();
            string mapn = "";
            if (dt_kt.Rows.Count > 0)
            {

                DataTable dt = NhapHangDAO.GetMaNhapHangLonNhat();
                int t = int.Parse(dt.Rows[0]["MaPhieuNhap"].ToString().Substring(2)) + 1;
                mapn = "NH" + t.ToString();
            }
            else
            {
                mapn = "NH1000001";
            }
            return mapn;
        }

        public static DataTable LoadDSPhieuNhap()
        {
            DataTable dt= NhapHangDAO.LoadDSPhieuNhap();
            return dt;
        }
        public static bool InsertCTPhieuNhap(ChiTietPhieuNhapHangDTO ctpn)
        {
            return NhapHangDAO.InSertTableChiTietPhieuNhap(ctpn);
        }
        public static bool UpDateTableMatHang(ChiTietPhieuNhapHangDTO ctpn)
        {
            return NhapHangDAO.UpDateTableMatHang(ctpn);
        }
        public static bool XoaTatCaTrongCTPN(ChiTietPhieuNhapHangDTO ctpn)
        {
            return NhapHangDAO.XoaTatCaTrongCTPN(ctpn);
        }
        public static bool XoaTatCaTrongPN(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.XoaTatCaTrongPN(pn);
        }
        public static DataTable LoadCTPNTheoMPN(PhieuNhapHangDTO pnh)
        {
            return NhapHangDAO.LoadCTPNTheoMPN(pnh);
        }
        public static bool CapNhatTrangThaiPN(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.CapNhatTrangThaiPhieuNhap(pn);
        }
        public static bool CapNhatTrangThaiCTPN(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.CapNhatTrangThaiCTPhieuNhap(pn);
        }
        public static bool XoaCTPNTheoMaPN(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.XoaCTPhieuNhapTheoMaPN(pn);
        }
        public static bool XoaPNTheoMaPN(PhieuNhapHangDTO pn)
        {
            return NhapHangDAO.XoaPhieuNhapTheoMaPN(pn);
        }
        public static string LayNgayLapHoaDonCuNhat()
        {
            NhapHangDAO NHDAO = new NhapHangDAO();
            DataTable dt = NHDAO.LayNgayLapPNCuNhat();
            string NgayLap = "1990/01/01";
            DateTime date = new DateTime();
            if (dt.Rows.Count > 0)
            {
                date = DateTime.Parse(dt.Rows[0]["NgayLap"].ToString());
                NgayLap = date.Month + "/" + date.Day + "/" + date.Year;
            }
            return NgayLap;
        }
        public static DataTable LocPhieuNhap(string MaPN, string strTuNgay, string strDenNgay, int TrangThai)
        {
            return NhapHangDAO.LocPhieuNhap(MaPN, strTuNgay, strDenNgay, TrangThai);
        }

    }
}
